package com.hyou.springboot2.service.base.itfc;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.hyou.springboot2.dto.pojo.SysRoleDO;

/**
 * SysRoleService Service接口定义类
 * 
 * @author FengChangshuo
 * @version 1.0.0 2018-11-01 13:50:06 初始创建
 */
public interface SysRoleService {
    
    /**
     * 新增一条SysRoleDO记录
     * 
     * @param paramBean 要新增的SysRoleDO记录数据对象
     * @return 新增记录的ID
     */
    Long insert(SysRoleDO paramBean);
    
    /**
     * 批量新增SysRoleDO记录
     * 
     * @param paramBeans 要新增的SysRoleDO记录数据对象集合
     */
    void insertBatch(List<SysRoleDO> paramBeans);
    
    /**
     * 根据主键ID，删除一条SysRoleDO记录
     * 
     * @param id SysRoleDO的主键
     */
    void deleteByPrimaryKey(Long id);
    
    /**
     * 根据主键ID，批量删除多条SysRoleDO记录
     *
     * @param ids SysRoleDO的主键字符串，多个主键用英文逗号分隔
     */
    void deleteBatchByPrimaryKeys(String ids);
    
    /**
     * 根据主键ID，批量删除多条SysRoleDO记录
     *
     * @param ids SysRoleDO的主键集合
     */
    void deleteBatchByPrimaryKeys(List<Long> ids);
    
    /**
     * 根据主键更新SysRoleDO数据记录
     * 
     * @param paramBean 要更新的SysRoleDO数据对象
     */
    void updateByPrimaryKeySelective(SysRoleDO paramBean);
    
    /**
     * 根据主键查询SysRoleDO数据对象
     * 
     * @param id SysRoleDO的主键
     * @return SysRoleDO数据对象
     */
    SysRoleDO getByPrimaryKey(Long id);
    
    /**
     * 查询符合条件的SysRoleDO结果集,根据paramBean动态拼接查询条件。
     * 
     * @param paramBean 用于封装查询条件
     * @return SysRoleDO数据查询结果集
     */
    List<SysRoleDO> listByConditions(SysRoleDO paramBean);
    
    /**
     * 分页查询符合条件的SysRoleDO结果集
     * 
     * @param paramBean 查询条件
     * @param pageNum 查询的页码
     * @param pageSize 每页记录数
     * @return 数据查询结果集
     */
    PageInfo<SysRoleDO> listByPage(SysRoleDO paramBean, final int pageNum, final int pageSize);
    
}
